package hottargui.framework;

public interface TarguiFactory {
	
	public TarguiState getNewGameState(Game context);
	public TarguiState getMoveState(Game context);
	public TarguiState getAttackState(Game context);
	public TarguiState getDefendState(Game context);
	public TarguiState getBuyState(Game context);
	public TarguiState getEndTurnState(Game context);
	public TarguiState getEndRoundState(Game context);
	public TarguiState getEndGameState(Game context);

	public AttackStrategy getAttackStrategy();
	public BuyStrategy getBuyStrategy();
	public WinnerStrategy getWinnerStrategy();
	public BoardStrategy getBoardStrategy();
	public TurnSequenceStrategy getTurnSequenceStrategy();
	
	public GameObjectServer getGameObjectServer();
}
